function [NVERT,SIZE_XYVERT,XYVERT,INOD]=INSERT_POINT_2D(XP,NVERT,SIZE_XYVERT,XYVERT)

global IAXIS JAXIS GEOMEPS DELTA_VERT

INLIST = false;
for INOD=1:NVERT
   DV(IAXIS:JAXIS) = XP(IAXIS:JAXIS) - XYVERT(IAXIS:JAXIS,INOD)';
   DVNORM = sqrt( DV(IAXIS)^2. + DV(JAXIS)^2. );
   if ( DVNORM < GEOMEPS )
      INLIST = true;
      break
   end
end
if ( ~INLIST )
   NVERT = NVERT + 1;
   INOD  = NVERT;
   % If NVERT > SIZE(XYVERT,DIM=2) reallocate:
   if (NVERT > SIZE_XYVERT)
       XYVERT(IAXIS:JAXIS,SIZE_XYVERT+1:SIZE_XYVERT+DELTA_VERT) = 0.;
       SIZE_XYVERT = SIZE_XYVERT + DELTA_VERT;
   end
   XYVERT(IAXIS:JAXIS,INOD) = XP(IAXIS:JAXIS);
end


return